package cc.momas.common.jedis;

import java.util.List;

public interface JedisClient {
	
	/**
	 * 字符串设值
	 * @param key 键
	 * @param value 值
	 * @return
	 */
	String set(String key, String value);
	/**
	 * 字符串取值
	 * @param key 键
	 * @return 值
	 */
	String get(String key);
	/**
	 * 判断是否存在
	 * @param key
	 * @return
	 */
	Boolean exists(String key);
	/**
	 * 设置超时时间
	 * @param key 键名
	 * @param seconds 秒数
	 * @return
	 */
	Long expire(String key, int seconds);
	/**
	 * 获取剩余时间
	 * @param key 键
	 * @return 时间
	 */
	Long ttl(String key);
	/**
	 * 自增1
	 * @param key 键
	 * @return 
	 */
	Long incr(String key);
	/**
	 * hash设值
	 * @param key 键名
	 * @param field 字段名
	 * @param value 字段值
	 * @return
	 */
	Long hset(String key, String field, String value);
	/**
	 * hash取值
	 * @param key 键
	 * @param field 字段名
	 * @return 字段值
	 */
	String hget(String key, String field);
	/**
	 * hash删值
	 * @param key 键
	 * @param field 值
	 * @return
	 */
	Long hdel(String key, String... field);
	/**
	 * hash判断存在
	 * @param key
	 * @param field
	 * @return
	 */
	Boolean hexists(String key, String field);
	/**
	 * 
	 * @param key
	 * @return
	 */
	List<String> hvals(String key);
	/**
	 * 
	 * @param key
	 * @return
	 */
	Long del(String key);
}
